package com.artpri.service;

import java.util.List;

import com.artpri.model.ShopCart;
import com.artpri.model.vo.ShopCartVo;
import com.artpri.model.vo.SimpleGoods;

/**
 * 购物车-service
 * @author ZhangSi
 *
 */
public interface ShoppingCartService {

	/**
	 * 商品添加购物车
	 * @param goodsNum
	 * @param cartNum
	 * @param userNum
	 * @return 数据已存在 1; 数据保存成功 2; 数据保存失败 0
	 */
	Integer addCart(Integer goodsNum, Integer cartNum, Integer userNum);

	/**
	 * 商品添加购物车
	 * @param goodsNum
	 * @param cartNum
	 * @param userNum
	 * @return
	 */
	List<Integer> addCarts(List<Integer> goodsNums, List<Integer> cartNums, Integer userNum);
	
	/**
	 * 批量删除购物车
	 * @param cartIds
	 */
	void deleteCart(List<Integer> cartIds);
	
	/**
	 * 删除购物车
	 * @param id
	 */
	void deleteCart(Integer id);

	/**
	 * 根据用户编码获取购物车
	 * @param userNum
	 * @return List<<code>ShopCartVo</code>>
	 * @see com.artpri.model.vo.ShopCartVo
	 */
	List<ShopCartVo> getShopCartByUser(Integer userNum);

	/**
	 * 更新购物车
	 * @param shopCart
	 */
	void updateCart(ShopCart shopCart);

	/**
	 * 清除下柜商品
	 * @param cartIds
	 */
	List<Integer> removeStopSellingGoods(List<Integer> cartIds);
	
	/**
	 * 
	 * @param goodsNum
	 * @return
	 */
	List<SimpleGoods> getSimpleGoods(List<Integer> goodsNums);
}
